﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace NetworkSimulator
{
    public class Request
    {
        private int id;

        public int Id
        {
            get { return id; }
        }

        private int source;

        public int Source
        {
            get { return source; }
            set { source = value; }
        }

        private int destination;

        public int Destination
        {
            get { return destination; }
            set { destination = value; }
        }

        private double bandwidth;

        public double Bandwidth
        {
          get { return bandwidth; }
          set { bandwidth = value; }
        }

        private long incomingTime;

        public long IncomingTime
        {
            get { return incomingTime; }
            set { incomingTime = value; }
        }
        private long holdingTime;

        public long HoldingTime
        {
            get { return holdingTime; }
            set { holdingTime = value; }
        }

        private Path path;
        public Path Path
        {
            get { return this.path; }
            set { this.path = value; }
        }

        public Request(int id, int source, int destination, double bandwidth, long incomingTime, long holdingTime) {
            this.id = id;
            this.source = source;
            this.destination = destination;
            this.bandwidth = bandwidth;
            this.incomingTime = incomingTime;
            this.holdingTime = holdingTime;
            this.path = new Path();
        }

        public override string  ToString()
        {
            return "REQ-" + id + ":" + source + ":" + destination + ":" + bandwidth + ":" + incomingTime + ":" + holdingTime;
        }
    }
}
